Field of the Invention
The present disclosure relates to measures for transferring routing information in computer networks. In particular, but not exclusively, the present disclosure relates to transferring routing protocol information between a software defined network and one or more external networks.
Description of the Related Technology
Computer networks route information in the form of data packets between various network endpoints, such as servers and personal computers. A conventional computer network includes a large number of switching nodes, or ‘switches’, which are responsible for forwarding data packets in the computer network. A computer network may also include one or more routing nodes, or ‘routers’, which are responsible for interconnecting different computer networks. Some routing nodes in computer networks also include the functionality of a switching node.
A conventional switching node can be conceptually separated into two parts. A ‘data plane’ part is responsible for the forwarding of received data packets, i.e. the receipt of a data packet via a first one of the switch's network interfaces, and the transmission or ‘forwarding’ of that data packet via a second different one (or more) of the switch's network interfaces. In contrast, a ‘control plane’ part is responsible for determining which of the switch's network interfaces a received data packet should be transmitted through.
Information about the connectivity of various switches in a computer network, as well as the cost for reaching various endpoints via particular switches, is commonly communicated between the switches in the computer network using a routing protocol, such as an interior gateway protocol (IGP). Through use of such a routing protocol, the control plane of each of the switching nodes in the computer network may determine information about the network topology. This topology information is used by the control plane to calculate one or more preferred routes to other endpoints or border routers in the network. These determined preferred routes are used by the control plane to populate entries in a forwarding table which is accessed by the data plane of the switch when forwarding received data packets. Such forwarding table entries or ‘forwarding rules’ typically specify which network interface the switch should use for forwarding a data packet to a particular destination.
Recently, computer networks have begun to utilize a technique known as software defined networking, where a control plane entity (or ‘control node’) is deployed, which controls the data plane operation of several switching nodes in the network. In some software defined networking arrangements, more than one control node may be provided, with each control node being responsible for controlling the data plane operation of a subset, or ‘cluster’ of the switching nodes in the software defined network. A control node typically achieves this control by remotely configuring forwarding rules for each of the switches under its control. This arrangement removes the requirement for IGP information to be communicated between the switching nodes in the software defined network, as the control node can configure all of the data planes directly. Software defined networking also enables switching nodes of lower cost and complexity to be used in the network, as dedicated control plane hardware is not required for each of the switching nodes. Further, additional functionality such as more intelligent packet routing can also be provided by a control node in a software defined network, as the control node can configure packet forwarding routes across the whole cluster of switching nodes in a coordinated manner, rather than relying on the autonomous decision making of individual switching nodes.
In some scenarios, it may be desirable to deploy a cluster of software defined networking switches alongside conventional computer network equipment, i.e. switches with dedicated control and data plane parts. This may be the case where a full replacement of an existing network is not feasible, due to cost or network availability requirements for example. In such scenarios, in order to allow the conventional network equipment to learn information about the topology of the software defined networking cluster, and therefore include it in routing calculations and decisions, the software defined networking cluster is required to communicate with these neighboring networks using a recognized routing protocol, such as an IGP. However, the generation of such routing protocol information is not a requirement in software defined networks.